package cn.bugstack.domain.strategy.service.rule.tree;

import cn.bugstack.domain.strategy.service.rule.tree.factory.DefaultTreeFactory;

/**
 * 注意后面的实行类实现要加@Scope设置为非单例模式，毕竟不同的虽然两个不同的活动都有共同的节点处理，
 * 但是有可能节点的下一个节点不是一样的，如果设置为单例，那么后阶段的处理也是一样的，这会使得不同的活动，
 * 他们的规则是一样的，比如两个不同的抽奖活动，其中一个没有权重抽奖，但是他们都有黑名单过滤规则，这会使得
 * 没有权重过滤的抽奖活动还是会经过这个节点处理
 *
 * @author Fuzhengwei bugstack.cn @小傅哥
 * @description 规则树接口
 * @create 2024-01-27 11:14
 */

public interface ILogicTreeNode {

    DefaultTreeFactory.TreeActionEntity logic(String userId, Long strategyId, Integer awardId, String ruleValue);

}
